{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 机器学习工程师纳米学位\n",
    "## 入门\n",
    "## 项目 0: 预测泰坦尼克号乘客生还率\n",
    "\n",
    "1912年，泰坦尼克号在第一次航行中就与冰山相撞沉没，导致了大部分乘客和船员身亡。在这个入门项目中，我们将探索部分泰坦尼克号旅客名单，来确定哪些特征可以最好地预测一个人是否会生还。为了完成这个项目，你将需要实现几个基于条件的预测并回答下面的问题。我们将根据代码的完成度和对问题的解答来对你提交的项目的进行评估。 \n",
    "\n",
    "> **提示**：这样的文字将会指导你如何使用 iPython Notebook 来完成项目。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "点击[这里](https://github.com/udacity/machine-learning/blob/master/projects/titanic_survival_exploration/Titanic_Survival_Exploration.ipynb)查看本文件的英文版本。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 开始\n",
    "\n",
    "当我们开始处理泰坦尼克号乘客数据时，会先导入我们需要的功能模块以及将数据加载到 `pandas` DataFrame。运行下面区域中的代码加载数据，并使用 `.head()` 函数显示前几项乘客数据。 \n",
    "\n",
    "> **提示**：你可以通过单击代码区域，然后使用键盘快捷键 **Shift+Enter** 或 **Shift+ Return** 来运行代码。或者在选择代码后使用**播放**（run cell）按钮执行代码。像这样的 MarkDown 文本可以通过双击编辑，并使用这些相同的快捷键保存。[Markdown](http://daringfireball.net/projects/markdown/syntax) 允许你编写易读的纯文本并且可以转换为 HTML。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>A/5 21171</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>PC 17599</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C85</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>STON/O2. 3101282</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>113803</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>C123</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>373450</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Survived  Pclass  \\\n",
       "0            1         0       3   \n",
       "1            2         1       1   \n",
       "2            3         1       3   \n",
       "3            4         1       1   \n",
       "4            5         0       3   \n",
       "\n",
       "                                                Name     Sex   Age  SibSp  \\\n",
       "0                            Braund, Mr. Owen Harris    male  22.0      1   \n",
       "1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   \n",
       "2                             Heikkinen, Miss. Laina  female  26.0      0   \n",
       "3       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   \n",
       "4                           Allen, Mr. William Henry    male  35.0      0   \n",
       "\n",
       "   Parch            Ticket     Fare Cabin Embarked  \n",
       "0      0         A/5 21171   7.2500   NaN        S  \n",
       "1      0          PC 17599  71.2833   C85        C  \n",
       "2      0  STON/O2. 3101282   7.9250   NaN        S  \n",
       "3      0            113803  53.1000  C123        S  \n",
       "4      0            373450   8.0500   NaN        S  "
      ]
     },
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "# RMS Titanic data visualization code \n",
    "# 数据可视化代码\n",
    "from titanic_visualizations import survival_stats\n",
    "from IPython.display import display\n",
    "%matplotlib inline\n",
    "\n",
    "# Load the dataset \n",
    "# 加载数据集\n",
    "in_file = 'titanic_data.csv'\n",
    "full_data = pd.read_csv(in_file)\n",
    "\n",
    "\n",
    "# Print the first few entries of the RMS Titanic data \n",
    "# 显示数据列表中的前几项乘客数据\n",
    "display(full_data.head())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从泰坦尼克号的数据样本中，我们可以看到船上每位旅客的特征\n",
    "\n",
    "- **Survived**：是否存活（0代表否，1代表是）\n",
    "- **Pclass**：社会阶级（1代表上层阶级，2代表中层阶级，3代表底层阶级）\n",
    "- **Name**：船上乘客的名字\n",
    "- **Sex**：船上乘客的性别\n",
    "- **Age**:船上乘客的年龄（可能存在 `NaN`）\n",
    "- **SibSp**：乘客在船上的兄弟姐妹和配偶的数量\n",
    "- **Parch**：乘客在船上的父母以及小孩的数量\n",
    "- **Ticket**：乘客船票的编号\n",
    "- **Fare**：乘客为船票支付的费用\n",
    "- **Cabin**：乘客所在船舱的编号（可能存在 `NaN`）\n",
    "- **Embarked**：乘客上船的港口（C 代表从 Cherbourg 登船，Q 代表从 Queenstown 登船，S 代表从 Southampton 登船）\n",
    "\n",
    "因为我们感兴趣的是每个乘客或船员是否在事故中活了下来。可以将 **Survived** 这一特征从这个数据集移除，并且用一个单独的变量 `outcomes` 来存储。它也做为我们要预测的目标。\n",
    "\n",
    "运行该代码，从数据集中移除 **Survived** 这个特征，并将它存储在变量 `outcomes` 中。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>A/5 21171</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>PC 17599</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C85</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>STON/O2. 3101282</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>113803</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>C123</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>373450</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>6</td>\n",
       "      <td>3</td>\n",
       "      <td>Moran, Mr. James</td>\n",
       "      <td>male</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>330877</td>\n",
       "      <td>8.4583</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Q</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>7</td>\n",
       "      <td>1</td>\n",
       "      <td>McCarthy, Mr. Timothy J</td>\n",
       "      <td>male</td>\n",
       "      <td>54.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>17463</td>\n",
       "      <td>51.8625</td>\n",
       "      <td>E46</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>8</td>\n",
       "      <td>3</td>\n",
       "      <td>Palsson, Master. Gosta Leonard</td>\n",
       "      <td>male</td>\n",
       "      <td>2.0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>349909</td>\n",
       "      <td>21.0750</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>9</td>\n",
       "      <td>3</td>\n",
       "      <td>Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)</td>\n",
       "      <td>female</td>\n",
       "      <td>27.0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>347742</td>\n",
       "      <td>11.1333</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>10</td>\n",
       "      <td>2</td>\n",
       "      <td>Nasser, Mrs. Nicholas (Adele Achem)</td>\n",
       "      <td>female</td>\n",
       "      <td>14.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>237736</td>\n",
       "      <td>30.0708</td>\n",
       "      <td>NaN</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>11</td>\n",
       "      <td>3</td>\n",
       "      <td>Sandstrom, Miss. Marguerite Rut</td>\n",
       "      <td>female</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>PP 9549</td>\n",
       "      <td>16.7000</td>\n",
       "      <td>G6</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>12</td>\n",
       "      <td>1</td>\n",
       "      <td>Bonnell, Miss. Elizabeth</td>\n",
       "      <td>female</td>\n",
       "      <td>58.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>113783</td>\n",
       "      <td>26.5500</td>\n",
       "      <td>C103</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>13</td>\n",
       "      <td>3</td>\n",
       "      <td>Saundercock, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>A/5. 2151</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>14</td>\n",
       "      <td>3</td>\n",
       "      <td>Andersson, Mr. Anders Johan</td>\n",
       "      <td>male</td>\n",
       "      <td>39.0</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>347082</td>\n",
       "      <td>31.2750</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>15</td>\n",
       "      <td>3</td>\n",
       "      <td>Vestrom, Miss. Hulda Amanda Adolfina</td>\n",
       "      <td>female</td>\n",
       "      <td>14.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>350406</td>\n",
       "      <td>7.8542</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "      <td>Hewlett, Mrs. (Mary D Kingcome)</td>\n",
       "      <td>female</td>\n",
       "      <td>55.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>248706</td>\n",
       "      <td>16.0000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>17</td>\n",
       "      <td>3</td>\n",
       "      <td>Rice, Master. Eugene</td>\n",
       "      <td>male</td>\n",
       "      <td>2.0</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>382652</td>\n",
       "      <td>29.1250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Q</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>18</td>\n",
       "      <td>2</td>\n",
       "      <td>Williams, Mr. Charles Eugene</td>\n",
       "      <td>male</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>244373</td>\n",
       "      <td>13.0000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>19</td>\n",
       "      <td>3</td>\n",
       "      <td>Vander Planke, Mrs. Julius (Emelia Maria Vande...</td>\n",
       "      <td>female</td>\n",
       "      <td>31.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>345763</td>\n",
       "      <td>18.0000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>20</td>\n",
       "      <td>3</td>\n",
       "      <td>Masselmani, Mrs. Fatima</td>\n",
       "      <td>female</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2649</td>\n",
       "      <td>7.2250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>21</td>\n",
       "      <td>2</td>\n",
       "      <td>Fynney, Mr. Joseph J</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>239865</td>\n",
       "      <td>26.0000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>22</td>\n",
       "      <td>2</td>\n",
       "      <td>Beesley, Mr. Lawrence</td>\n",
       "      <td>male</td>\n",
       "      <td>34.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>248698</td>\n",
       "      <td>13.0000</td>\n",
       "      <td>D56</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>23</td>\n",
       "      <td>3</td>\n",
       "      <td>McGowan, Miss. Anna \"Annie\"</td>\n",
       "      <td>female</td>\n",
       "      <td>15.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>330923</td>\n",
       "      <td>8.0292</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Q</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>24</td>\n",
       "      <td>1</td>\n",
       "      <td>Sloper, Mr. William Thompson</td>\n",
       "      <td>male</td>\n",
       "      <td>28.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>113788</td>\n",
       "      <td>35.5000</td>\n",
       "      <td>A6</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>25</td>\n",
       "      <td>3</td>\n",
       "      <td>Palsson, Miss. Torborg Danira</td>\n",
       "      <td>female</td>\n",
       "      <td>8.0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>349909</td>\n",
       "      <td>21.0750</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>26</td>\n",
       "      <td>3</td>\n",
       "      <td>Asplund, Mrs. Carl Oscar (Selma Augusta Emilia...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>347077</td>\n",
       "      <td>31.3875</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>27</td>\n",
       "      <td>3</td>\n",
       "      <td>Emir, Mr. Farred Chehab</td>\n",
       "      <td>male</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2631</td>\n",
       "      <td>7.2250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>28</td>\n",
       "      <td>1</td>\n",
       "      <td>Fortune, Mr. Charles Alexander</td>\n",
       "      <td>male</td>\n",
       "      <td>19.0</td>\n",
       "      <td>3</td>\n",
       "      <td>2</td>\n",
       "      <td>19950</td>\n",
       "      <td>263.0000</td>\n",
       "      <td>C23 C25 C27</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>29</td>\n",
       "      <td>3</td>\n",
       "      <td>O'Dwyer, Miss. Ellen \"Nellie\"</td>\n",
       "      <td>female</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>330959</td>\n",
       "      <td>7.8792</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Q</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>30</td>\n",
       "      <td>3</td>\n",
       "      <td>Todoroff, Mr. Lalio</td>\n",
       "      <td>male</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>349216</td>\n",
       "      <td>7.8958</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>861</th>\n",
       "      <td>862</td>\n",
       "      <td>2</td>\n",
       "      <td>Giles, Mr. Frederick Edward</td>\n",
       "      <td>male</td>\n",
       "      <td>21.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>28134</td>\n",
       "      <td>11.5000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>862</th>\n",
       "      <td>863</td>\n",
       "      <td>1</td>\n",
       "      <td>Swift, Mrs. Frederick Joel (Margaret Welles Ba...</td>\n",
       "      <td>female</td>\n",
       "      <td>48.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>17466</td>\n",
       "      <td>25.9292</td>\n",
       "      <td>D17</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>863</th>\n",
       "      <td>864</td>\n",
       "      <td>3</td>\n",
       "      <td>Sage, Miss. Dorothy Edith \"Dolly\"</td>\n",
       "      <td>female</td>\n",
       "      <td>NaN</td>\n",
       "      <td>8</td>\n",
       "      <td>2</td>\n",
       "      <td>CA. 2343</td>\n",
       "      <td>69.5500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>864</th>\n",
       "      <td>865</td>\n",
       "      <td>2</td>\n",
       "      <td>Gill, Mr. John William</td>\n",
       "      <td>male</td>\n",
       "      <td>24.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>233866</td>\n",
       "      <td>13.0000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>865</th>\n",
       "      <td>866</td>\n",
       "      <td>2</td>\n",
       "      <td>Bystrom, Mrs. (Karolina)</td>\n",
       "      <td>female</td>\n",
       "      <td>42.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>236852</td>\n",
       "      <td>13.0000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>866</th>\n",
       "      <td>867</td>\n",
       "      <td>2</td>\n",
       "      <td>Duran y More, Miss. Asuncion</td>\n",
       "      <td>female</td>\n",
       "      <td>27.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>SC/PARIS 2149</td>\n",
       "      <td>13.8583</td>\n",
       "      <td>NaN</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>867</th>\n",
       "      <td>868</td>\n",
       "      <td>1</td>\n",
       "      <td>Roebling, Mr. Washington Augustus II</td>\n",
       "      <td>male</td>\n",
       "      <td>31.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>PC 17590</td>\n",
       "      <td>50.4958</td>\n",
       "      <td>A24</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>868</th>\n",
       "      <td>869</td>\n",
       "      <td>3</td>\n",
       "      <td>van Melkebeke, Mr. Philemon</td>\n",
       "      <td>male</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>345777</td>\n",
       "      <td>9.5000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>869</th>\n",
       "      <td>870</td>\n",
       "      <td>3</td>\n",
       "      <td>Johnson, Master. Harold Theodor</td>\n",
       "      <td>male</td>\n",
       "      <td>4.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>347742</td>\n",
       "      <td>11.1333</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>870</th>\n",
       "      <td>871</td>\n",
       "      <td>3</td>\n",
       "      <td>Balkic, Mr. Cerin</td>\n",
       "      <td>male</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>349248</td>\n",
       "      <td>7.8958</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>871</th>\n",
       "      <td>872</td>\n",
       "      <td>1</td>\n",
       "      <td>Beckwith, Mrs. Richard Leonard (Sallie Monypeny)</td>\n",
       "      <td>female</td>\n",
       "      <td>47.0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>11751</td>\n",
       "      <td>52.5542</td>\n",
       "      <td>D35</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>872</th>\n",
       "      <td>873</td>\n",
       "      <td>1</td>\n",
       "      <td>Carlsson, Mr. Frans Olof</td>\n",
       "      <td>male</td>\n",
       "      <td>33.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>695</td>\n",
       "      <td>5.0000</td>\n",
       "      <td>B51 B53 B55</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>873</th>\n",
       "      <td>874</td>\n",
       "      <td>3</td>\n",
       "      <td>Vander Cruyssen, Mr. Victor</td>\n",
       "      <td>male</td>\n",
       "      <td>47.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>345765</td>\n",
       "      <td>9.0000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>874</th>\n",
       "      <td>875</td>\n",
       "      <td>2</td>\n",
       "      <td>Abelson, Mrs. Samuel (Hannah Wizosky)</td>\n",
       "      <td>female</td>\n",
       "      <td>28.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>P/PP 3381</td>\n",
       "      <td>24.0000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>875</th>\n",
       "      <td>876</td>\n",
       "      <td>3</td>\n",
       "      <td>Najib, Miss. Adele Kiamie \"Jane\"</td>\n",
       "      <td>female</td>\n",
       "      <td>15.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2667</td>\n",
       "      <td>7.2250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>876</th>\n",
       "      <td>877</td>\n",
       "      <td>3</td>\n",
       "      <td>Gustafsson, Mr. Alfred Ossian</td>\n",
       "      <td>male</td>\n",
       "      <td>20.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7534</td>\n",
       "      <td>9.8458</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>877</th>\n",
       "      <td>878</td>\n",
       "      <td>3</td>\n",
       "      <td>Petroff, Mr. Nedelio</td>\n",
       "      <td>male</td>\n",
       "      <td>19.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>349212</td>\n",
       "      <td>7.8958</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>878</th>\n",
       "      <td>879</td>\n",
       "      <td>3</td>\n",
       "      <td>Laleff, Mr. Kristo</td>\n",
       "      <td>male</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>349217</td>\n",
       "      <td>7.8958</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>879</th>\n",
       "      <td>880</td>\n",
       "      <td>1</td>\n",
       "      <td>Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)</td>\n",
       "      <td>female</td>\n",
       "      <td>56.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>11767</td>\n",
       "      <td>83.1583</td>\n",
       "      <td>C50</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>880</th>\n",
       "      <td>881</td>\n",
       "      <td>2</td>\n",
       "      <td>Shelley, Mrs. William (Imanita Parrish Hall)</td>\n",
       "      <td>female</td>\n",
       "      <td>25.0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>230433</td>\n",
       "      <td>26.0000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>881</th>\n",
       "      <td>882</td>\n",
       "      <td>3</td>\n",
       "      <td>Markun, Mr. Johann</td>\n",
       "      <td>male</td>\n",
       "      <td>33.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>349257</td>\n",
       "      <td>7.8958</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>882</th>\n",
       "      <td>883</td>\n",
       "      <td>3</td>\n",
       "      <td>Dahlberg, Miss. Gerda Ulrika</td>\n",
       "      <td>female</td>\n",
       "      <td>22.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7552</td>\n",
       "      <td>10.5167</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>883</th>\n",
       "      <td>884</td>\n",
       "      <td>2</td>\n",
       "      <td>Banfield, Mr. Frederick James</td>\n",
       "      <td>male</td>\n",
       "      <td>28.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>C.A./SOTON 34068</td>\n",
       "      <td>10.5000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>884</th>\n",
       "      <td>885</td>\n",
       "      <td>3</td>\n",
       "      <td>Sutehall, Mr. Henry Jr</td>\n",
       "      <td>male</td>\n",
       "      <td>25.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>SOTON/OQ 392076</td>\n",
       "      <td>7.0500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>885</th>\n",
       "      <td>886</td>\n",
       "      <td>3</td>\n",
       "      <td>Rice, Mrs. William (Margaret Norton)</td>\n",
       "      <td>female</td>\n",
       "      <td>39.0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>382652</td>\n",
       "      <td>29.1250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Q</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>886</th>\n",
       "      <td>887</td>\n",
       "      <td>2</td>\n",
       "      <td>Montvila, Rev. Juozas</td>\n",
       "      <td>male</td>\n",
       "      <td>27.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>211536</td>\n",
       "      <td>13.0000</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>887</th>\n",
       "      <td>888</td>\n",
       "      <td>1</td>\n",
       "      <td>Graham, Miss. Margaret Edith</td>\n",
       "      <td>female</td>\n",
       "      <td>19.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>112053</td>\n",
       "      <td>30.0000</td>\n",
       "      <td>B42</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>888</th>\n",
       "      <td>889</td>\n",
       "      <td>3</td>\n",
       "      <td>Johnston, Miss. Catherine Helen \"Carrie\"</td>\n",
       "      <td>female</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>W./C. 6607</td>\n",
       "      <td>23.4500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>889</th>\n",
       "      <td>890</td>\n",
       "      <td>1</td>\n",
       "      <td>Behr, Mr. Karl Howell</td>\n",
       "      <td>male</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>111369</td>\n",
       "      <td>30.0000</td>\n",
       "      <td>C148</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>890</th>\n",
       "      <td>891</td>\n",
       "      <td>3</td>\n",
       "      <td>Dooley, Mr. Patrick</td>\n",
       "      <td>male</td>\n",
       "      <td>32.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>370376</td>\n",
       "      <td>7.7500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>Q</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>891 rows × 11 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "     PassengerId  Pclass                                               Name  \\\n",
       "0              1       3                            Braund, Mr. Owen Harris   \n",
       "1              2       1  Cumings, Mrs. John Bradley (Florence Briggs Th...   \n",
       "2              3       3                             Heikkinen, Miss. Laina   \n",
       "3              4       1       Futrelle, Mrs. Jacques Heath (Lily May Peel)   \n",
       "4              5       3                           Allen, Mr. William Henry   \n",
       "5              6       3                                   Moran, Mr. James   \n",
       "6              7       1                            McCarthy, Mr. Timothy J   \n",
       "7              8       3                     Palsson, Master. Gosta Leonard   \n",
       "8              9       3  Johnson, Mrs. Oscar W (Elisabeth Vilhelmina Berg)   \n",
       "9             10       2                Nasser, Mrs. Nicholas (Adele Achem)   \n",
       "10            11       3                    Sandstrom, Miss. Marguerite Rut   \n",
       "11            12       1                           Bonnell, Miss. Elizabeth   \n",
       "12            13       3                     Saundercock, Mr. William Henry   \n",
       "13            14       3                        Andersson, Mr. Anders Johan   \n",
       "14            15       3               Vestrom, Miss. Hulda Amanda Adolfina   \n",
       "15            16       2                   Hewlett, Mrs. (Mary D Kingcome)    \n",
       "16            17       3                               Rice, Master. Eugene   \n",
       "17            18       2                       Williams, Mr. Charles Eugene   \n",
       "18            19       3  Vander Planke, Mrs. Julius (Emelia Maria Vande...   \n",
       "19            20       3                            Masselmani, Mrs. Fatima   \n",
       "20            21       2                               Fynney, Mr. Joseph J   \n",
       "21            22       2                              Beesley, Mr. Lawrence   \n",
       "22            23       3                        McGowan, Miss. Anna \"Annie\"   \n",
       "23            24       1                       Sloper, Mr. William Thompson   \n",
       "24            25       3                      Palsson, Miss. Torborg Danira   \n",
       "25            26       3  Asplund, Mrs. Carl Oscar (Selma Augusta Emilia...   \n",
       "26            27       3                            Emir, Mr. Farred Chehab   \n",
       "27            28       1                     Fortune, Mr. Charles Alexander   \n",
       "28            29       3                      O'Dwyer, Miss. Ellen \"Nellie\"   \n",
       "29            30       3                                Todoroff, Mr. Lalio   \n",
       "..           ...     ...                                                ...   \n",
       "861          862       2                        Giles, Mr. Frederick Edward   \n",
       "862          863       1  Swift, Mrs. Frederick Joel (Margaret Welles Ba...   \n",
       "863          864       3                  Sage, Miss. Dorothy Edith \"Dolly\"   \n",
       "864          865       2                             Gill, Mr. John William   \n",
       "865          866       2                           Bystrom, Mrs. (Karolina)   \n",
       "866          867       2                       Duran y More, Miss. Asuncion   \n",
       "867          868       1               Roebling, Mr. Washington Augustus II   \n",
       "868          869       3                        van Melkebeke, Mr. Philemon   \n",
       "869          870       3                    Johnson, Master. Harold Theodor   \n",
       "870          871       3                                  Balkic, Mr. Cerin   \n",
       "871          872       1   Beckwith, Mrs. Richard Leonard (Sallie Monypeny)   \n",
       "872          873       1                           Carlsson, Mr. Frans Olof   \n",
       "873          874       3                        Vander Cruyssen, Mr. Victor   \n",
       "874          875       2              Abelson, Mrs. Samuel (Hannah Wizosky)   \n",
       "875          876       3                   Najib, Miss. Adele Kiamie \"Jane\"   \n",
       "876          877       3                      Gustafsson, Mr. Alfred Ossian   \n",
       "877          878       3                               Petroff, Mr. Nedelio   \n",
       "878          879       3                                 Laleff, Mr. Kristo   \n",
       "879          880       1      Potter, Mrs. Thomas Jr (Lily Alexenia Wilson)   \n",
       "880          881       2       Shelley, Mrs. William (Imanita Parrish Hall)   \n",
       "881          882       3                                 Markun, Mr. Johann   \n",
       "882          883       3                       Dahlberg, Miss. Gerda Ulrika   \n",
       "883          884       2                      Banfield, Mr. Frederick James   \n",
       "884          885       3                             Sutehall, Mr. Henry Jr   \n",
       "885          886       3               Rice, Mrs. William (Margaret Norton)   \n",
       "886          887       2                              Montvila, Rev. Juozas   \n",
       "887          888       1                       Graham, Miss. Margaret Edith   \n",
       "888          889       3           Johnston, Miss. Catherine Helen \"Carrie\"   \n",
       "889          890       1                              Behr, Mr. Karl Howell   \n",
       "890          891       3                                Dooley, Mr. Patrick   \n",
       "\n",
       "        Sex   Age  SibSp  Parch            Ticket      Fare        Cabin  \\\n",
       "0      male  22.0      1      0         A/5 21171    7.2500          NaN   \n",
       "1    female  38.0      1      0          PC 17599   71.2833          C85   \n",
       "2    female  26.0      0      0  STON/O2. 3101282    7.9250          NaN   \n",
       "3    female  35.0      1      0            113803   53.1000         C123   \n",
       "4      male  35.0      0      0            373450    8.0500          NaN   \n",
       "5      male   NaN      0      0            330877    8.4583          NaN   \n",
       "6      male  54.0      0      0             17463   51.8625          E46   \n",
       "7      male   2.0      3      1            349909   21.0750          NaN   \n",
       "8    female  27.0      0      2            347742   11.1333          NaN   \n",
       "9    female  14.0      1      0            237736   30.0708          NaN   \n",
       "10   female   4.0      1      1           PP 9549   16.7000           G6   \n",
       "11   female  58.0      0      0            113783   26.5500         C103   \n",
       "12     male  20.0      0      0         A/5. 2151    8.0500          NaN   \n",
       "13     male  39.0      1      5            347082   31.2750          NaN   \n",
       "14   female  14.0      0      0            350406    7.8542          NaN   \n",
       "15   female  55.0      0      0            248706   16.0000          NaN   \n",
       "16     male   2.0      4      1            382652   29.1250          NaN   \n",
       "17     male   NaN      0      0            244373   13.0000          NaN   \n",
       "18   female  31.0      1      0            345763   18.0000          NaN   \n",
       "19   female   NaN      0      0              2649    7.2250          NaN   \n",
       "20     male  35.0      0      0            239865   26.0000          NaN   \n",
       "21     male  34.0      0      0            248698   13.0000          D56   \n",
       "22   female  15.0      0      0            330923    8.0292          NaN   \n",
       "23     male  28.0      0      0            113788   35.5000           A6   \n",
       "24   female   8.0      3      1            349909   21.0750          NaN   \n",
       "25   female  38.0      1      5            347077   31.3875          NaN   \n",
       "26     male   NaN      0      0              2631    7.2250          NaN   \n",
       "27     male  19.0      3      2             19950  263.0000  C23 C25 C27   \n",
       "28   female   NaN      0      0            330959    7.8792          NaN   \n",
       "29     male   NaN      0      0            349216    7.8958          NaN   \n",
       "..      ...   ...    ...    ...               ...       ...          ...   \n",
       "861    male  21.0      1      0             28134   11.5000          NaN   \n",
       "862  female  48.0      0      0             17466   25.9292          D17   \n",
       "863  female   NaN      8      2          CA. 2343   69.5500          NaN   \n",
       "864    male  24.0      0      0            233866   13.0000          NaN   \n",
       "865  female  42.0      0      0            236852   13.0000          NaN   \n",
       "866  female  27.0      1      0     SC/PARIS 2149   13.8583          NaN   \n",
       "867    male  31.0      0      0          PC 17590   50.4958          A24   \n",
       "868    male   NaN      0      0            345777    9.5000          NaN   \n",
       "869    male   4.0      1      1            347742   11.1333          NaN   \n",
       "870    male  26.0      0      0            349248    7.8958          NaN   \n",
       "871  female  47.0      1      1             11751   52.5542          D35   \n",
       "872    male  33.0      0      0               695    5.0000  B51 B53 B55   \n",
       "873    male  47.0      0      0            345765    9.0000          NaN   \n",
       "874  female  28.0      1      0         P/PP 3381   24.0000          NaN   \n",
       "875  female  15.0      0      0              2667    7.2250          NaN   \n",
       "876    male  20.0      0      0              7534    9.8458          NaN   \n",
       "877    male  19.0      0      0            349212    7.8958          NaN   \n",
       "878    male   NaN      0      0            349217    7.8958          NaN   \n",
       "879  female  56.0      0      1             11767   83.1583          C50   \n",
       "880  female  25.0      0      1            230433   26.0000          NaN   \n",
       "881    male  33.0      0      0            349257    7.8958          NaN   \n",
       "882  female  22.0      0      0              7552   10.5167          NaN   \n",
       "883    male  28.0      0      0  C.A./SOTON 34068   10.5000          NaN   \n",
       "884    male  25.0      0      0   SOTON/OQ 392076    7.0500          NaN   \n",
       "885  female  39.0      0      5            382652   29.1250          NaN   \n",
       "886    male  27.0      0      0            211536   13.0000          NaN   \n",
       "887  female  19.0      0      0            112053   30.0000          B42   \n",
       "888  female   NaN      1      2        W./C. 6607   23.4500          NaN   \n",
       "889    male  26.0      0      0            111369   30.0000         C148   \n",
       "890    male  32.0      0      0            370376    7.7500          NaN   \n",
       "\n",
       "    Embarked  \n",
       "0          S  \n",
       "1          C  \n",
       "2          S  \n",
       "3          S  \n",
       "4          S  \n",
       "5          Q  \n",
       "6          S  \n",
       "7          S  \n",
       "8          S  \n",
       "9          C  \n",
       "10         S  \n",
       "11         S  \n",
       "12         S  \n",
       "13         S  \n",
       "14         S  \n",
       "15         S  \n",
       "16         Q  \n",
       "17         S  \n",
       "18         S  \n",
       "19         C  \n",
       "20         S  \n",
       "21         S  \n",
       "22         Q  \n",
       "23         S  \n",
       "24         S  \n",
       "25         S  \n",
       "26         C  \n",
       "27         S  \n",
       "28         Q  \n",
       "29         S  \n",
       "..       ...  \n",
       "861        S  \n",
       "862        S  \n",
       "863        S  \n",
       "864        S  \n",
       "865        S  \n",
       "866        C  \n",
       "867        S  \n",
       "868        S  \n",
       "869        S  \n",
       "870        S  \n",
       "871        S  \n",
       "872        S  \n",
       "873        S  \n",
       "874        C  \n",
       "875        C  \n",
       "876        S  \n",
       "877        S  \n",
       "878        S  \n",
       "879        C  \n",
       "880        S  \n",
       "881        S  \n",
       "882        S  \n",
       "883        S  \n",
       "884        S  \n",
       "885        Q  \n",
       "886        S  \n",
       "887        S  \n",
       "888        S  \n",
       "889        C  \n",
       "890        Q  \n",
       "\n",
       "[891 rows x 11 columns]"
      ]
     },
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Store the 'Survived' feature in a new variable and remove it from the dataset \n",
    "# 从数据集中移除 'Survived' 这个特征，并将它存储在一个新的变量中。\n",
    "outcomes = full_data['Survived']\n",
    "data = full_data.drop('Survived', axis = 1)\n",
    "\n",
    "# Show the new dataset with 'Survived' removed\n",
    "# 显示已移除 'Survived' 特征的数据集\n",
    "display(data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这个例子展示了如何将泰坦尼克号的 **Survived** 数据从 DataFrame 移除。注意到 `data`（乘客数据）和 `outcomes` （是否存活）现在已经匹配好。这意味着对于任何乘客的 `data.loc[i]` 都有对应的存活的结果 `outcome[i]`。\n",
    "\n",
    "为了验证我们预测的结果，我们需要一个标准来给我们的预测打分。因为我们最感兴趣的是我们预测的**准确率**，既正确预测乘客存活的比例。运行下面的代码来创建我们的 `accuracy_score` 函数以对前五名乘客的预测来做测试。\n",
    "\n",
    "**思考题**：从第六个乘客算起，如果我们预测他们全部都存活，你觉得我们预测的准确率是多少？"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predictions have an accuracy of 60.00%.\n"
     ]
    }
   ],
   "source": [
    "def accuracy_score(truth, pred):\n",
    "    \"\"\" Returns accuracy score for input truth and predictions. \"\"\"\n",
    "    \n",
    "    # Ensure that the number of predictions matches number of outcomes\n",
    "    # 确保预测的数量与结果的数量一致\n",
    "    if len(truth) == len(pred): \n",
    "        \n",
    "        # Calculate and return the accuracy as a percent\n",
    "        # 计算预测准确率（百分比）\n",
    "        return \"Predictions have an accuracy of {:.2f}%.\".format((truth == pred).mean()*100)\n",
    "    \n",
    "    else:\n",
    "        return \"Number of predictions does not match number of outcomes!\"\n",
    "    \n",
    "# Test the 'accuracy_score' function\n",
    "# 测试 'accuracy_score' 函数\n",
    "predictions = pd.Series(np.ones(5, dtype = int))\n",
    "print accuracy_score(outcomes[:5], predictions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> **提示**：如果你保存 iPython Notebook，代码运行的输出也将被保存。但是，一旦你重新打开项目，你的工作区将会被重置。请确保每次都从上次离开的地方运行代码来重新生成变量和函数。\n",
    "\n",
    "# 预测\n",
    "\n",
    "如果我们要预测泰坦尼克号上的乘客是否存活，但是我们又对他们一无所知，那么最好的预测就是船上的人无一幸免。这是因为，我们可以假定当船沉没的时候大多数乘客都遇难了。下面的 `predictions_0` 函数就预测船上的乘客全部遇难。  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def predictions_0(data):\n",
    "    \"\"\" Model with no features. Always predicts a passenger did not survive. \"\"\"\n",
    "\n",
    "    predictions = []\n",
    "    for _, passenger in data.iterrows():\n",
    "        \n",
    "        # Predict the survival of 'passenger'\n",
    "        # 预测 'passenger' 的生还率\n",
    "        predictions.append(0)\n",
    "    \n",
    "    # Return our predictions\n",
    "    # 返回预测结果\n",
    "    return pd.Series(predictions)\n",
    "\n",
    "# Make the predictions\n",
    "# 进行预测\n",
    "predictions = predictions_0(data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 问题1\n",
    "\n",
    "对比真实的泰坦尼克号的数据，如果我们做一个所有乘客都没有存活的预测，你认为这个预测的准确率能达到多少？\n",
    "\n",
    "**提示**：运行下面的代码来查看预测的准确率。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predictions have an accuracy of 61.62%.\n"
     ]
    }
   ],
   "source": [
    "print accuracy_score(outcomes, predictions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**回答:** *Predictions have an accuracy of 61.62%.*"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***\n",
    "我们可以使用 `survival_stats` 函数来看看 **Sex** 这一特征对乘客的存活率有多大影响。这个函数定义在名为 `titanic_visualizations.py` 的 Python 脚本文件中，我们的项目提供了这个文件。传递给函数的前两个参数分别是泰坦尼克号的乘客数据和乘客的 生还结果。第三个参数表明我们会依据哪个特征来绘制图形。\n",
    "\n",
    "运行下面的代码绘制出依据乘客性别计算存活率的柱形图。 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nKmzEiBEsWrSIpUuX9ncp6qIhQ4YwYsSIbi9vwEtShQ0ePJhRo0b1dxnqB3bRS5JUQQa8JEkVZMBL\nklRBBrwkSRVkwEuSVEEGvCRJFWTAS5JUQQa8JEkVZMBLklRBBrwkSRVkwEuSVEEGvCRJFWTAS5JU\nQQa8JEkVZMBLklRBBrwkSRVkwEuSVEEND/iIaIqIP0TE9eXtrSLilxGxoPy7Zc28Z0fEwxHxUEQc\n2ejaJEmqqr5owU8BHqi5fRZwa2buCtxa3iYidgcmA6OBo4BLI6KpD+qTJKlyGhrwETECOBr4vzWT\njwGmltenAu+tmT4tM1/NzMeAh4H9GlmfJElV1egW/L8CnwVeq5m2XWYuLq8/DWxXXt8BWFgz36Jy\n2loi4tSImBURs5YuXdqAkiVJWv81LOAjYgKwJDNntzdPZiaQXVlvZl6emc2Z2Txs2LCelilJUiUN\nauC6DwYmRsS7gSHAmyLiKuCZiBiemYsjYjiwpJz/SWDHmuVHlNMkSVIXNawFn5lnZ+aIzBxJMXju\nvzLzg8BM4ORytpOBn5fXZwKTI2LjiBgF7Arc26j6JEmqska24NtzETA9Ij4M/Bk4HiAz50XEdGA+\nsAr4RGau7of6JEla70WxG3z91NzcnLNmzerdlUb07vrUtvX4fSdJ/SkiZmdmc2fzeSQ7SZIqyICX\nJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySp\nggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIM\neEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJ\nkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpgjoN+IjY\nNCLeUF5/S0RMjIjBjS9NkiR1Vz0t+DuAIRGxA3ALcBJwZSOLkiRJPVNPwEdm/hV4P3BpZh4HjG5s\nWZIkqSfqCviIOBA4EbihnNbUuJIkSVJP1RPwU4CzgZ9l5ryIeDPw68aWJUmSemJQR3dGRBMwMTMn\ntkzLzEeBMxtdmCRJ6r4OW/CZuRp4ex/VIkmSekmHLfjSHyJiJnAtsKJlYmb+R8OqkiRJPVJPwA8B\n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\nSZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmS\nKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirI\ngJckqYIMeEmSKsiAlySpggx4SZIqaFB/F6ANU5wf/V3CBiHPzf4uQVI/sQUvSVIFGfCSJFVQwwI+\nIn4YEUsi4k8107aKiF9GxILy75Y1950dEQ9HxEMRcWSj6pIkaUPQyBb8lcBRraadBdyambsCt5a3\niYjdgcnA6HKZSyOiqYG1SZJUaQ0L+My8A/hLq8nHAFPL61OB99ZMn5aZr2bmY8DDwH6Nqk2SpKrr\n633w22Xm4vL608B25fUdgIU18y0qp60jIk6NiFkRMWvp0qWNq1SSpPVYvw2yy8wEuvwbnsy8PDOb\nM7N52LBhDahMkqT1X18H/DMRMRyg/LuknP4ksGPNfCPKaZIkqRv6OuBnAieX108Gfl4zfXJEbBwR\no4BdgXv7uDZJkiqjYUeyi4ifAOOBbSJiEXAucBEwPSI+DPwZOB4gM+dFxHRgPrAK+ERmrm5UbZIk\nVV3DAj4zT2jnrsPbmf9C4MJG1SNJ0obEI9lJklRBBrwkSRVkwEuSVEEGvCRJFWTAS5JUQQa8JEkV\nZMBLklRBDfsdvCR1S0R/V7BhOK+/C1Cj2YKXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIq\nyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiA\nlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJck\nqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmC\nDHhJkirIgJckqYIMeEmSKsiAlySpggx4SZIqyICXJKmCDHhJkirIgJckqYIMeEmSKsiAlySpggx4\nSZIqyICXJKmCBlzAR8RREfFQRDwcEWf1dz2SJK2PBlTAR0QT8D3gXcDuwAkRsXv/ViVJ0vpnQAU8\nsB/wcGY+mpl/A6YBx/RzTZIkrXcGWsDvACysub2onCZJkrpgUH8X0FURcSpwannzpYh4qD/rUTed\n198FdMs2wLP9XURXxHnR3yVooDqvvwvoFj+DhZ3rmWmgBfyTwI41t0eU09bIzMuBy/uyKAkgImZl\nZnN/1yFtqPwMds1A66L/PbBrRIyKiI2AycDMfq5JkqT1zoBqwWfmqoj4JHAz0AT8MDPn9XNZkiSt\ndwZUwANk5o3Ajf1dh9QGdw1J/cvPYBdEZvZ3DZIkqZcNtH3wkiSpFxjwUjdExPiIuL6/65DWJxFx\nZkQ8EBFXN2j950XEPzdi3eujAbcPXpJUWR8H3pmZi/q7kA2BLXhtsCJiZEQ8GBFXRsR/R8TVEfHO\niPhtRCyIiP3Ky90R8YeIuCsi3trGejaNiB9GxL3lfB5eWWolIi4D3gzcFBGfb+szExGnRMR1EfHL\niHg8Ij4ZEZ8q5/ldRGxVzvfRiPh9RMyNiJ9GxBvb2N4uEfGfETE7In4TEW/r20fc/wx4bej+DrgE\neFt5+QDwduCfgXOAB4FDMnMv4EvAV9tYx+eB/8rM/YD/CVwcEZv2Qe3SeiMzTweeoviMbEr7n5k9\ngPcD+wIXAn8tP393A/9YzvMfmblvZo4FHgA+3MYmLwfOyMx9KD7PlzbmkQ1cdtFrQ/dYZv4RICLm\nAbdmZkbEH4GRwObA1IjYFUhgcBvrOAKYWLPvbwiwE8U/Hknrau8zA/DrzFwOLI+IF4BflNP/CIwp\nr+8REV8BtgA2ozh2yhoRsRlwEHBtxJpDxW7ciAcykBnw2tC9WnP9tZrbr1F8Pi6g+IfzvogYCdzW\nxjoC+IfM9LwIUn3a/MxExP50/pkEuBJ4b2bOjYhTgPGt1v8G4PnMHNe7Za9f7KKXOrY5r58P4ZR2\n5rkZOCPKpkJE7NUHdUnrs55+ZoYCiyNiMHBi6zsz80XgsYg4rlx/RMTYHta83jHgpY59HfhaRPyB\n9nu8LqDour+/7Oa/oK+Kk9ZTPf3MfBG4B/gtxTiZtpwIfDgi5gLzgA1u8KtHspMkqYJswUuSVEEG\nvCRJFWTAS5JUQQa8JEkVZMBLklRBBrykNpXHC58XEfdHxJzyICSS1hMeyU7SOiLiQGACsHdmvhoR\n2wAb9XNZkrrAFryktgwHns3MVwEy89nMfCoi9omI28szdN0cEcMjYlB5Zq/xABHxtYi4sD+Ll+SB\nbiS1oTxZx53AG4FfAdcAdwG3A8dk5tKImAQcmZn/KyJGAzOAM4CLgf0z82/9U70ksIteUhsy86WI\n2Ac4hOJ0ntcAX6E4lecvy0OINwGLy/nnRcSPgOuBAw13qf8Z8JLalJmrKc6ed1t5+txPAPMy88B2\nFtkTeB7Ytm8qlNQR98FLWkdEvDUidq2ZNI7i/PbDygF4RMTgsmueiHg/sBVwKPCdiNiir2uWtDb3\nwUtaR9k9/x1gC2AV8DBwKjAC+DbFaXQHAf8K/Ixi//zhmbkwIs4E9snMk/ujdkkFA16SpAqyi16S\npAoy4CVJqiADXpKkCjLgJUmqIANekqQKMuAlSaogA16SpAoy4CVJqqD/D4fPhy9k8RkrAAAAAElF\nTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7ff674d85110>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_stats(data, outcomes, 'Sex')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "观察泰坦尼克号上乘客存活的数据统计，我们可以发现大部分男性乘客在船沉没的时候都遇难了。相反的，大部分女性乘客都在事故中**生还**。让我们在先前推断的基础上继续创建：如果乘客是男性，那么我们就预测他们遇难；如果乘客是女性，那么我们预测他们在事故中活了下来。\n",
    "\n",
    "将下面的代码补充完整，让函数可以进行正确预测。  \n",
    "\n",
    "**提示**：您可以用访问 dictionary（字典）的方法来访问船上乘客的每个特征对应的值。例如， `passenger['Sex']` 返回乘客的性别。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def predictions_1(data):\n",
    "    \"\"\" Model with one feature: \n",
    "            - Predict a passenger survived if they are female. \"\"\"\n",
    "    \n",
    "    predictions = []\n",
    "    for _, passenger in data.iterrows():\n",
    "        \n",
    "        if passenger['Sex'] == 'male':\n",
    "            predictions.append(0)\n",
    "        else:\n",
    "            predictions.append(1)\n",
    "    \n",
    "    # Return our predictions\n",
    "    # 返回预测结果\n",
    "    return pd.Series(predictions)\n",
    "\n",
    "# Make the predictions\n",
    "# 进行预测\n",
    "predictions = predictions_1(data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 问题2\n",
    "当我们预测船上女性乘客全部存活，而剩下的人全部遇难，那么我们预测的准确率会达到多少？\n",
    "\n",
    "**提示**：运行下面的代码来查看我们预测的准确率。 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predictions have an accuracy of 78.68%.\n"
     ]
    }
   ],
   "source": [
    "print accuracy_score(outcomes, predictions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**回答**: *Predictions have an accuracy of 78.68%.*"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***\n",
    "仅仅使用乘客性别（Sex）这一特征，我们预测的准确性就有了明显的提高。现在再看一下使用额外的特征能否更进一步提升我们的预测准确度。例如，综合考虑所有在泰坦尼克号上的男性乘客：我们是否找到这些乘客中的一个子集，他们的存活概率较高。让我们再次使用 `survival_stats` 函数来看看每位男性乘客的年龄（Age）。这一次，我们将使用第四个参数来限定柱形图中只有男性乘客。\n",
    "\n",
    "运行下面这段代码，把男性基于年龄的生存结果绘制出来。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n9OnTed/73veufX3jG9/g9ttvZ8aMGUyePHmFsS9ZsoQ99tiDGTNmcMopp3D//fezZMkSAK655hrG\njBnzrvVHjx7Ntddeu2z62muvZfTo0UyZMoXZs2fzwAMPMH36dKZNm8Y999yz4idvFZnsJUmrhXvu\nuYdPfepTABx22GFsvPHGba639tprL6tB77bbbjz99NMA3HfffXzyk58EYOzYsfz2t79d4TH32Wcf\njjvuOC699FLeeuutFa7fq1cv/vmf/xmA3r17c+ihh/LLX/6SN998k1tuuYXDDz/8XevvsssuLFiw\ngL/+9a/MmDGDjTfemK233popU6YwZcoUdtllF3bddVceffRRZs+evcLjryrP2UuSutSTTz5Jr169\n2HzzzZk1a9ZKb9+nT59lPdV79erFm2++ucqxXHTRRdx///3ccsst7LbbbkybNo3evXsv60AIvOvy\nt759+77rPP2YMWP44Q9/yCabbMKIESPYYIMNljvGUUcdxfXXX8+zzz7L6NGjgeI6+lNPPZXxje5D\n0Q6TvbpPF73Ju00dHZekNc3ChQs58cQT+dKXvrTcpWX7778/V111Faeffjq33XYbL7744krte++9\n92bSpEmMHTuWK6+8kv322w+ADTbYgMWLF7e5zRNPPMEee+zBHnvswW233cacOXMYNGgQF154IW+/\n/Tbz5s3jgQceaPeYH/rQh/j0pz/NpZdeulwTfovRo0fzuc99jueff567774bgEMOOYQzzjiDY489\nln79+jFv3jz69OnD5ptvvlJlrpfJXpLUVK+99hrDhw9n6dKl9O7dm7Fjx/KVr3xlufXOPPNMjjnm\nGIYMGcLee+/NNttss1LH+cEPfsDxxx/PeeedR//+/fnZz34GFLXvz33uc3z/+9/n+uuvf9d5+69+\n9avMnj2bzOSggw5i2LBhAAwePJgdd9yRHXbYgV133bXdY/bq1YuRI0dy+eWXM3HixDbXGTJkCIsX\nL2arrbZiwIABABx88MHMmjWLvfbaCyg6/l1xxRVNS/bRXm/HnmDEiBHpePY9mDV7qelmzZrFDjvs\n0N1haBW19fpFxLTMXKnrFe2gJ0lSxTUt2UfETyNiQUQ8XDPvvIh4NCIeiohfRMRGNctOjYjHI+Kx\niDikWXFJkrSmaWbN/nLg0Fbz7gB2ysyhwP8CpwJExI7AGGBIuc2FEdH2bYkkSdJKaVqyz8x7gBda\n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\nbJSzDrwUMlwAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7ff67508d250>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_stats(data, outcomes, 'Age', [\"Sex == 'male'\"])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "仔细观察泰坦尼克号存活的数据统计，在船沉没的时候，大部分小于10岁的男孩都活着，而大多数10岁以上的男性都随着船的沉没而**遇难**。让我们继续在先前预测的基础上构建：如果乘客是女性，那么我们就预测她们全部存活；如果乘客是男性并且小于10岁，我们也会预测他们全部存活；所有其它我们就预测他们都没有幸存。  \n",
    "\n",
    "将下面缺失的代码补充完整，让我们的函数可以实现预测。  \n",
    "**提示**: 您可以用之前 `predictions_1` 的代码作为开始来修改代码，实现新的预测函数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def predictions_2(data):\n",
    "    \"\"\" Model with two features: \n",
    "            - Predict a passenger survived if they are female.\n",
    "            - Predict a passenger survived if they are male and younger than 10. \"\"\"\n",
    "    \n",
    "    predictions = []\n",
    "    for _, passenger in data.iterrows():\n",
    "        \n",
    "        if passenger['Sex'] == 'female' or passenger['Age'] < 10:\n",
    "            predictions.append(1)\n",
    "        else:\n",
    "            predictions.append(0)\n",
    "    \n",
    "    # Return our predictions\n",
    "    # 返回预测结果\n",
    "    return pd.Series(predictions)\n",
    "\n",
    "# Make the predictions\n",
    "# 进行预测\n",
    "predictions = predictions_2(data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 问题3\n",
    "\n",
    "当预测所有女性以及小于10岁的男性都存活的时候，预测的准确率会达到多少？\n",
    "\n",
    "**提示：**运行下面的代码来查看预测的准确率。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predictions have an accuracy of 79.35%.\n"
     ]
    }
   ],
   "source": [
    "print accuracy_score(outcomes, predictions)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**回答**: *Predictions have an accuracy of 79.35%.*"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "***\n",
    "添加年龄（Age）特征与性别（Sex）的结合比单独使用性别（Sex）也提高了不少准确度。现在该你来做预测了：找到一系列的特征和条件来对数据进行划分，使得预测结果提高到80%以上。这可能需要多个特性和多个层次的条件语句才会成功。你可以在不同的条件下多次使用相同的特征。**Pclass**，**Sex**，**Age**，**SibSp** 和 **Parch** 是建议尝试使用的特征。   \n",
    "\n",
    "使用 `survival_stats` 函数来观测泰坦尼克号上乘客存活的数据统计。  \n",
    "**提示:** 要使用多个过滤条件，把每一个条件放在一个列表里作为最后一个参数传递进去。例如: `[\"Sex == 'male'\", \"Age < 18\"]`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nx1vd+wGKjnZnlcf6v21sO5bi/PxjwCLeSh7t7bMt0yhaXGrjvpfiPdhesr+IomXlxYj4Xjvrtav8\nEXoE8N3MXFjzNwP4JTCubDU6AfgWRSe5QRTnz1vey7+gaAmbEsWVHQ9T9GlYZ5k5l+I0zpkUSX0u\n8CVgozV9zjPzMYqWp6fK129HistUZ1F0xLuDNVzS2aDPpxqgpces1G1ExKeBMZn53q6ORVpXUXQe\nnAecvIYfMlKHWbPXei8i+kXEwVFcu/1u4IsUNXGpWymb07cqT3WdSXF+/Pdr2EzqMO9wpO5gY4rr\n8gdSNLVPAS7u0oikdXMgxemajYHZFD3o27ocVGoom/ElSao4m/ElSao4k70kSRXXrc/Zb7fddjlg\nwICuDkOSpE4zY8aM5zOz9c292tWtk/2AAQOYPn16V4chSVKniYg/re02NuNLklRxJntJkirOZC9J\nUsV163P2kqT2LV++nHnz5vHaa6sb+E/rq969e9O/f3969erV4X2Z7CWpwubNm8cWW2zBgAEDKAYR\nVHeQmSxZsoR58+YxcODADu/PZnxJqrDXXnuNbbfd1kTfzUQE2267bcNaZEz2klRxJvruqZGvm8le\nktRUPXr0YNiwYQwePJihQ4fy7W9/mzfffBOA6dOnc/rpp7e53YABA3j++ec7fPwbbriB2bNnd3g/\na+MDH/gAL730Uqcesz2es5ekDcn48Y3d36WXrnGVTTfdlJkzZwKwaNEiPvKRj/DKK69w7rnnMnz4\ncIYPH97YmFq54YYbGDlyJIMGDWroft944w169OjR5rJbb721ocfqKGv2kqROs/322zNp0iR+8IMf\nkJncfffdjBw5EoAlS5Zw5JFHMnjwYD75yU+yulFZ+/Tpw1e+8hWGDh3KAQccwHPPPQfAM888w+GH\nH86QIUM44ogjePbZZ/nd737H1KlT+dKXvsSwYcN48skn37av6667jj333JOhQ4dy2GGHAXDFFVfw\nuc99buU6I0eO5O6771557C9+8YsMHTqUb37zm5xwwgkr16stS0urxMSJE/nhD3+4cp1zzjmHCy+8\nEIALLriA/fbbjyFDhnD22Wd35GldI5O9JKlTvfOd7+SNN95g0aJFb5t/7rnncsghh/DII4/woQ99\niGeffbbN7ZctW8YBBxzArFmzOOyww7jssssA+PznP8+4ceN46KGHOPnkkzn99NM56KCDGDVqFBdc\ncAEzZ85kt912e9u+vva1r3H77bcza9Yspk6dusbYly1bxv7778+sWbOYOHEi999/P8uWLQPgmmuu\nYcyYMW9bf/To0Vx77bUrp6+99lpGjx7NHXfcwZw5c3jggQeYOXMmM2bMYNq0aWt+8taRyV6StF6Y\nNm0aH/3oRwE45phj2Hrrrdtcb+ONN15Zg95333155plnALjvvvv4yEc+AsDYsWP5zW9+s8ZjHnzw\nwXzsYx/jsssu44033ljj+j169OCf/umfAOjZsydHH300N910EytWrOCWW27h2GOPfdv6e++9N4sW\nLeLPf/4zs2bNYuutt2bnnXfmjjvu4I477mDvvfdmn3324bHHHmPOnDlrPP668py9JKlTPfXUU/To\n0YPtt9+eRx99dK2379Wr18qe6j169GDFihXrHMsll1zC/fffzy233MK+++7LjBkz6Nmz58oOhMDb\nLn/r3bv3287Tjxkzhh/84Adss802DB8+nC222GKVY5xwwglcf/31LFy4kNGjRwPFdfRnnHEG4xvd\nh2I1TPbqOp30Ju8ydXRckjY0ixcv5rTTTuNzn/vcKpeWHXbYYfz0pz/lrLPO4rbbbuPFF19cq30f\ndNBBTJkyhbFjx3LVVVdx6KGHArDFFluwdOnSNrd58skn2X///dl///257bbbmDt3LgMGDODiiy/m\nzTffZP78+TzwwAOrPeZ73/tePv7xj3PZZZet0oTfYvTo0XzqU5/i+eef55577gHgqKOO4qtf/Son\nn3wyffr0Yf78+fTq1Yvtt99+rcpcL5O9JKmp/vrXvzJs2DCWL19Oz549GTt2LF/4whdWWe/ss8/m\npJNOYvDgwRx00EHssssua3Wc73//+5xyyilccMEF9O3bl5/85CdAUfv+1Kc+xfe+9z2uv/76t523\n/9KXvsScOXPITI444giGDh0KwMCBAxk0aBB77LEH++yzz2qP2aNHD0aOHMkVV1zB5MmT21xn8ODB\nLF26lJ122ol+/foBcOSRR/Loo49y4IEHAkXHvyuvvLJpyT5W19uxOxg+fHg6nn03Zs1earpHH32U\nPfbYo6vD0Dpq6/WLiBmZuVbXKzatg15E/DgiFkXEw20s+2JEZERsVzPvjIh4IiIej4ijmhWXJEkb\nmmb2xr8COLr1zIjYGTgSeLZm3iBgDDC43ObiiGj7TgWSJGmtNC3ZZ+Y04IU2Fv1/wJeB2vMHxwJT\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4881a738d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_stats(data, outcomes, 'Age')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "当查看和研究了图形化的泰坦尼克号上乘客的数据统计后，请补全下面这段代码中缺失的部分，使得函数可以返回你的预测。   \n",
    "在到达最终的预测模型前请确保记录你尝试过的各种特征和条件。   \n",
    "**提示:** 您可以用之前 `predictions_2` 的代码作为开始来修改代码，实现新的预测函数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "def predictions_3(data):\n",
    "    \"\"\" Model with multiple features. Makes a prediction with an accuracy of at least 80%. \"\"\"\n",
    "    \n",
    "    # Design decision tree in the order of \"Sex\" -> \"Age\" -> \"Pclass\" -> \"SibSp\".\n",
    "    pred = []\n",
    "    for _, p in data.iterrows():\n",
    "        \n",
    "        if p['Sex'] == \"female\":\n",
    "            if p['Pclass'] < 3:\n",
    "                pred.append(1)\n",
    "            else:\n",
    "                if p['Age'] > 50:\n",
    "                    pred.append(1)\n",
    "                elif p['Age'] > 40:\n",
    "                    pred.append(0)\n",
    "                elif p['Age'] > 30:\n",
    "                    if p['SibSp'] < 3:\n",
    "                        pred.append(0)\n",
    "                    else:\n",
    "                        pred.append(1)\n",
    "                else:\n",
    "                    if p['SibSp'] > 0:\n",
    "                        pred.append(0)\n",
    "                    else:\n",
    "                        pred.append(1)         \n",
    "        else:\n",
    "            if p['Age'] <= 10:\n",
    "                if p['Pclass'] < 3:\n",
    "                    pred.append(1)\n",
    "                else:\n",
    "                    if p['SibSp'] < 2:\n",
    "                        pred.append(1)\n",
    "                    else:\n",
    "                        pred.append(0)\n",
    "            else:\n",
    "                pred.append(0)\n",
    "    \n",
    "    # Return our predictions\n",
    "    return pd.Series(pred)\n",
    "\n",
    "# Make the predictions\n",
    "pred = predictions_3(data)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 结论\n",
    "\n",
    "请描述你实现80%准确度的预测模型所经历的步骤。您观察过哪些特征？某些特性是否比其他特征更有帮助？你用了什么条件来预测生还结果？你最终的预测的准确率是多少？\n",
    "**提示:**运行下面的代码来查看你的预测准确度。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predictions have an accuracy of 83.28%.\n"
     ]
    }
   ],
   "source": [
    "print accuracy_score(outcomes, pred)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**回答**: *Predictions have an accuracy of 83.28%.*\n",
    "\n",
    "### 算法对应的脑图\n",
    "![image](https://github.com/mtyylx/MLND/blob/master/P0_Titanic/Titanic_Decision_Tree_Solution.png?raw=true)\n",
    "\n",
    "\n",
    "### 人工设计决策树的一些准则\n",
    "1. 从树根到叶子节点的单向路径上出现的**特征不能重复**，先后顺序可以变化。重复筛选特征会导致多记或少记。\n",
    "\n",
    "2. 拆分的大原则是让绿色（存活）和红色（未存活）**尽可能相互分离**。如下图所示：\n",
    "    - 观察三等舱男性按年龄的存活分布，如果只看十岁以下的区域，可以看到红色和绿色有一定重复，且红色略多于绿色。这时候如果全算作红色，那么就牺牲了绿色部分的正确率（大约八个人）。\n",
    "    - 此时可以使用特征`SibSp`添加一个子分支，看是否能够将红绿重合部分进一步拆分。可以看到符合`SibSp < 2`条件的孩子实际上都活了下来（大约七个人），而如果在决策树的上一层就判定的话，这部分将会被误判为未存活。现在通过添加特征，成功的分离了这一小部分的存活情况，提高了准确度。应用到求生的这个场景，大概就是说船上的兄弟姐妹越多，存活的可能性越低，可能原因是孩子太多父母顾不过来，因此存活率低。 \n",
    "    > 确实一些特征会比另一些特征更有帮助（或者说更相关）。船舱等级、性别、年龄都是和存活率**强相关**的特征，至于是否有兄弟、父母、配偶这些特征则与存活率**弱相关**，仅在某些特定组合下可以进一步提高准确率。\n",
    "\n",
    "3. 很受启发的评审意见\n",
    "\n",
    "    > 节选：...“很多特征看似没有包含什么信息，但是实际上可能和一些隐含的特征有强相关关系，所以也能作为纳入模型的变量。再比如“name”这个看似无关的变量，但是其中包含了“Mr”，“Mrs”甚至“Dr”等称呼，这些称呼可能会体现一些信息出来，也能作为有意义的指标。Domain knowledge很重要，但是拿到数据前的EDA（探索式数据分析）也是很重要的。”...“如果我们使用sklearn这个包的话，可以把准确率提升到90%以上，这是个机器学习的包，能够自动的在数据中寻找模式并对数据集进行分割，比我们一个特征一个特征的看要方便和快捷多了。”...\n",
    "\n",
    "    - **也许这就是为什么需要机器学习的原因吧。人类总是太看重因果，从而忽视那些没有必然的因果联系的特征。机器无法理解因果关系，但是却反而可以非常“扭曲”的学习训练数据集的特征，在很多情况下，确有奇效。**\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nwAGMHTuWCy64gBkzZvDOd75zlWV99atf5c4772TmzJnccssta6x9+fLl7LvvvsycOZPTTz+dhx56\niOXLlwNw7bXXcvzxx68y/bhx47juuutW3r/uuusYN24cd911F3PmzOHhhx9mxowZTJ8+nfvvv3/N\nD14nGeiSpC5z//33c9JJJwFw5JFHsuWWW7Y63YYbbriyJ7z33nvz7LPPAvDggw/ysY99DIDx48fz\nq1/9ao3rPPDAA/n4xz/OZZddxptvvrnG6Zuamvj7v/97APr06cMRRxzBz372M9544w1uu+02jjrq\nqFWm33PPPVm0aBF//OMfmTlzJltuuSU77rgjd911F3fddRd77rkne+21F0888QRz5sxZ4/o7y33o\nkqR17umnn6apqYltt92W2bNnd3j+vn37rjwCvKmpiTfeeKPTtVxyySU89NBD3Hbbbey9995Mnz6d\nPn36rDxoD1jlp2P9+vVbZb/58ccfz/e//3222morRo4cyWabbbbaOo499lhuuOEGFi5cyLhx44Di\nd+ZnnHEGE9f1MQ1tMNDVeF30Yu4WdRwsJK1vFi9ezKmnnsrnPve51X6WNWrUKK6++mrOOuss7rjj\nDl566aUOLfuAAw5g6tSpjB8/nquuuoqDDz4YgM0224xly5a1Os9TTz3Fvvvuy7777ssdd9zB3Llz\nGTx4MBdffDFvvfUW8+fP5+GHH25zne9///v5x3/8Ry677LLVNrc3GzduHJ/61Kd48cUXue+++wA4\n/PDDOfvssznxxBPp378/8+fPp2/fvmy77bYdanO9DHRJ0lp77bXXGDFiBCtWrKBPnz6MHz+eL3zh\nC6tNd84553DCCScwdOhQDjjgAHbaaacOred73/seJ598MhdccAEDBgzgxz/+MVD0oj/1qU/x3e9+\nlxtuuGGV/ehf+tKXmDNnDpnJoYceyvDhwwEYMmQIu+22G7vuuit77bVXm+tsampizJgxXHHFFUyZ\nMqXVaYYOHcqyZcvYYYcdGDhwIACHHXYYs2fPZv/99weKg+2uvPLKhgV6tHWEYU8ycuTI9HrovZg9\ndKmhZs+eza677trdZaiTWnv+ImJ6Znbot34eFCdJUgUY6JIkVYCBLklSBRjokiRVgIEuSVIFGOiS\nJFWAgS5JWie+/vWvM3ToUIYNG8aIESN46KGH1nqZt9xyC+eff/46qK74HXiVeWIZSaqYiT9bt+d+\nuPTDaz7fwoMPPsitt97KI488wkYbbcSLL77IX//617qW/8Ybb9CnT+txNHbsWMaOHduhetdX9tAl\nSWttwYIFbLPNNmy00UYAbLPNNmy//fYrLzEKMG3aNEaPHg0UlxgdP348Bx54IOPHj2e//fbj8ccf\nX7m80aNHM23atJWXOV26dCk777zzyvOvL1++nB133JEVK1bw1FNPccQRR7D33ntz8MEH88QTTwDw\nzDPPsP/++7PHHntw1llndeGj0T0MdEnSWjvssMOYO3cu7373u/nMZz6z8nzm7Zk1axa//OUvueaa\na1a5BOmCBQtYsGABI0e+faK0zTffnBEjRqxc7q233srhhx9O3759OeWUU/je977H9OnTufDCC/nM\nZz4DwKRJk/j0pz/N73//+5WnY60yA12StNb69+/P9OnTmTx5MgMGDGDcuHFcccUV7c4zduxYNt54\nYwCOO+44brjhBqC4nvgxxxyz2vTjxo3j2muvBWDq1KmMGzeOV199ld/85jcce+yxjBgxgokTJ7Jg\nwQIAfv3rX3PCCScAxaVWq8596JKkdaKpqYnRo0czevRo9thjD6ZMmbLKZUprL1EKsOmmm668vcMO\nO7D11lvz6KOPcu2113LJJZestvyxY8dy5pln8qc//Ynp06dzyCGHsHz5crbYYgtmzJjRak0tr/ZW\nZfbQJUlr7cknn2TOnDkr78+YMYOdd96ZwYMHM336dABuvPHGdpcxbtw4vvWtb7F06VKGDRu22vj+\n/fuzzz77MGnSJMaMGUNTUxPveMc7GDJkCNdffz1QXIN85syZABx44IFMnToVgKuuumqdtLMnM9Al\nSWvt1VdfZcKECey2224MGzaMWbNmce6553LOOecwadIkRo4cSVNTU7vLOOaYY5g6dSrHHXdcm9OM\nGzeOK6+8knHjxq0cdtVVV3H55ZczfPhwhg4dys033wzARRddxA9+8AP22GMP5s+fv24a2oN5+VQ1\nnpdPlRrKy6f2br3i8qkR8c8R8XhEPBYR10REv4jYKiJ+ERFzyv9bNrIGSZLWBw0L9IjYATgNGJmZ\nuwNNwPHA6cDdmfku4O7yviRJWguN3ofeB9g4IvoAmwB/BI4CppTjpwBHN7gGSZIqr2GBnpnzgQuB\n54EFwNLMvAvYLjMXlJMtBLZrVA2StL7oDcdDaXXr8nlr5Cb3LSl640OA7YFNI+Kk2mmyaEmrrYmI\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4881aaee50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nzJw5k3e+850rlfXVr36VW2+9lVmzZjFt2rQOY1+2bBl77bUXs2bNYtKkSdx3330sW7YMgKuuuorj\njz9+peXHjRvH1VdfvWL86quvZty4cdx2223MmTOH+++/n5kzZzJjxgzuueeejl+8VWRClyR1mXvu\nuYePfOQjABx55JFssskmrS639tprr2gJ77HHHjz11FMA3HvvvXz4wx8GYPz48fzmN7/pcJv77bcf\nH/3oR7nkkkt44403Oly+X79+/PM//zMA/fv354gjjuAXv/gFr7/+OjfddBNHHXXUSsvvtttuLFq0\niL/85S/MmjWLTTbZhK233prbbruN2267jd12243dd9+dRx99lDlz5nS4/VXlMXRJ0hr3xBNP0K9f\nPzbffHNmz57d6fUHDBiwogd4v379eP3111c5losuuoj77ruPm266iT322IMZM2bQv3//FZ32gJVO\nHRs4cOBKx82PP/54vv/97zNo0CCamprYcMMN37aNY489lmuvvZYFCxYwbtw4oDjP/PTTT2fimu7T\n0AYTuhqviz7M3aKOzkJSX7N48WJOOeUUPvOZz7zttKzRo0dzxRVXcOaZZ3LLLbfwwgsvdKrsfffd\nl6lTpzJ+/Hguv/xyDjjgAAA23HBDli5d2uo6jz/+OHvttRd77bUXt9xyC88++yzDhg3jwgsv5M03\n32TevHncf//9bW7zve99L//6r//KJZdc8rbd7c3GjRvHJz7xCZ577jnuvvtuAA4//HC+8pWvcOKJ\nJ7LBBhswb948BgwYwOabb96pOtfLhC5JWm2vvvoqo0aNYvny5fTv35/x48fz+c9//m3LnXXWWZxw\nwgmMGDGCfffdl2222aZT2/ne977HSSedxHnnncfgwYP56U9/ChSt6E984hN897vf5dprr13pOPoX\nv/hF5syZQ2Zy8MEHM3LkSACGDx/OTjvtxI477sjuu+/e5jb79evHmDFjuPTSS5kyZUqry4wYMYKl\nS5ey5ZZbMnToUAAOO+wwZs+ezT777AMUne0uu+yyhiX0aKuHYU/S1NSU3g+9F7OFLjXU7Nmz2XHH\nHbs7DK2i1t6/iJiRmZ06189OcZIkVYAJXZKkCjChS5JUASZ0SZIqwIQuSVIFNDShR8S/RcTDEfFQ\nRFwZEQMjYlBE3B4Rc8rn1i8TJEmS6tawhB4RWwKnAk2ZuTPQDzgemATckZnbA3eU45KkXu7rX/86\nI0aMYNddd2XUqFHcd999q13mtGnTOPfcc9dAdMV54FXW6AvL9AfWjYjlwHrAX4DTgQPL+VOAu4Av\nNzgOSeozJv5izV774eIPdHy9hXvvvZcbb7yRBx54gHXWWYfnnnuOv//973WV//rrr9O/f+vpaOzY\nsYwdO7ZT8fZVDWuhZ+Y84HzgGWA+8FJm3gYMycz55WILgCGtrR8RJ0fE9IiYvnjx4kaFKUlaA+bP\nn89mm23GOuusA8Bmm23GFltsseIWowDTp0/nwAMPBIpbjI4fP5799tuP8ePHs/fee/Pwww+vKO/A\nAw9k+vTpK25z+tJLL7HtttuuuP76smXL2HrrrVm+fDmPP/44RxxxBHvssQcHHHAAjz76KABPPvkk\n++yzD7vssgtnnnlmF74a3aORu9w3AY4ChgNbAOtHxEdql8niMnWtXqouMydnZlNmNg0ePLhRYUqS\n1oDDDjuMZ599lne961186lOfWnE98/Y88sgj/OpXv+LKK69c6Rak8+fPZ/78+TQ1vXWhtI022ohR\no0atKPfGG2/k8MMPZ8CAAZx88sl873vfY8aMGZx//vl86lOfAuC0007jk5/8JH/6059WXI61yhrZ\nKe4Q4MnMXJyZy4GfAfsCCyNiKED5vKidMiRJvcAGG2zAjBkzmDx5MoMHD2bcuHFceuml7a4zduxY\n1l13XQCOO+44rr32WqC4n/gxxxzztuXHjRvHVVddBcDUqVMZN24cr7zyCr/73e849thjGTVqFBMn\nTmT+/GIn8G9/+1tOOOEEoLjVatU18hj6M8DeEbEe8CpwMDAdWAZMAM4tn29oYAySpC7Sr18/Djzw\nQA488EB22WUXpkyZstJtSmtvUQqw/vrrrxjecsst2XTTTXnwwQe56qqruOiii95W/tixYznjjDN4\n/vnnmTFjBgcddBDLli1j4403ZubMma3G1PJub1XWyGPo9wHXAg8Afyq3NZkikR8aEXMoWvFrpvui\nJKnbPPbYY8yZM2fF+MyZM9l2220ZNmwYM2bMAOC6665rt4xx48bxrW99i5deeoldd931bfM32GAD\n9txzT0477TTGjBlDv379eMc73sHw4cO55pprgOIe5LNmzQJgv/32Y+rUqQBcfvnla6SePVlDz0PP\nzLMy892ZuXNmjs/Mv2Xmksw8ODO3z8xDMvP5RsYgSWq8V155hQkTJrDTTjux66678sgjj3D22Wdz\n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\nqQL+P3gQ+fTYwLuuAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4881dfda50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "survival_stats(data, outcomes, 'Age', [\"Sex == 'male'\", \"Pclass == 3\"])\n",
    "survival_stats(data, outcomes, 'Age', [\"Sex == 'male'\", \"Pclass == 3\", \"SibSp < 2\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {
    "collapsed": false,
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Predictions have an accuracy of 83.16%.\n"
     ]
    }
   ],
   "source": [
    "def predictions_4(data):\n",
    "    \n",
    "    # Yet another solution, using features \"Embarked\" (which seemingly unrelavant...)\n",
    "    pred = []\n",
    "    for _, p in data.iterrows():\n",
    "\n",
    "        if p[\"Sex\"] == \"female\":\n",
    "            if p[\"Pclass\"] == 1 or p[\"Pclass\"] == 2:\n",
    "                pred.append(1)\n",
    "            else:\n",
    "                if p[\"Embarked\"] == \"C\" or p[\"Embarked\"] == \"Q\":\n",
    "                    pred.append(1)\n",
    "                else:\n",
    "                    pred.append(0)        \n",
    "        else:\n",
    "            if p['Age'] <= 10:\n",
    "                if p['Pclass'] < 3:\n",
    "                    pred.append(1)\n",
    "                else:\n",
    "                    if p['SibSp'] < 2:\n",
    "                        pred.append(1)\n",
    "                    else:\n",
    "                        pred.append(0)\n",
    "            else:\n",
    "                pred.append(0)\n",
    "                \n",
    "    # Return our predictions\n",
    "    return pd.Series(pred)\n",
    "\n",
    "# Make the predictions\n",
    "pred = predictions_4(data)\n",
    "print accuracy_score(outcomes, pred)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 结论\n",
    "\n",
    "经过了数次对数据的探索和分类，你创建了一个预测泰坦尼克号乘客存活率的有用的算法。在这个项目中你手动地实现了一个简单的机器学习模型——决策树（decision tree）。决策树每次按照一个特征把数据分割成越来越小的群组（被称为 *nodes*）。每次数据的一个子集被分出来，如果分割结果的子集中的数据比之前更同质（包含近似的标签），我们的预测也就更加准确。电脑来帮助我们做这件事会比手动做更彻底，更精确。[这个链接](http://www.r2d3.us/visual-intro-to-machine-learning-part-1/)提供了另一个使用决策树做机器学习入门的例子。  \n",
    "\n",
    "决策树是许多**监督学习**算法中的一种。在监督学习中，我们关心的是使用数据的特征并根据数据的结果标签进行预测或建模。也就是说，每一组数据都有一个真正的结果值，不论是像泰坦尼克号生存数据集一样的标签，或者是连续的房价预测。\n",
    "\n",
    "### 问题5\n",
    "\n",
    "想象一个真实世界中应用监督学习的场景，你期望预测的结果是什么？举出两个在这个场景中能够帮助你进行预测的数据集中的特征。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "**回答**: 电商货品的推荐场景，预测客户更倾向于购买什么类型的产品。强相关的特征有：年龄（根据出生日期），性别，收货地址，购买历史，日期等。25岁至35岁女性顾客购买母婴产品的倾向更大，收货地址位于大城市CBD办公楼的区域的顾客购买奢侈品的倾向更大等。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "> **注意**: 当你写完了所有的代码，并且回答了所有的问题。你就可以把你的 iPython Notebook 导出成 HTML 文件。你可以在菜单栏，这样导出**File -> Download as -> HTML (.html)** 把这个 HTML 和这个 iPython notebook 一起做为你的作业提交。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "翻译：毛礼建 ｜ 校译：黄强 ｜ 审译：曹晨巍"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2.0
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}